Skip to content

feat(c4-diagrams): add multi-boundary layout patterns#6

Open
scotwells wants to merge 2 commits intomainfrom
feat/c4-multi-boundary-layout-patterns
Open

feat(c4-diagrams): add multi-boundary layout patterns#6
scotwells wants to merge 2 commits intomainfrom
feat/c4-multi-boundary-layout-patterns

Conversation

@scotwells
Copy link
Contributor

Summary

  • Add documentation for creating clean, readable C4 diagrams with multiple system boundaries
  • Document patterns that emerged from designing the Functions service control plane architecture

Changes

New section "Multi-Boundary Layout Patterns" covering:

  • Side-by-side boundaries: Using Rel_L/Rel_R for cross-boundary relationships
  • Grid structure: 2x2 layout within boundaries using mixed directions
  • Relationship direction guidelines: Table showing which direction to use for different scenarios
  • Data flow alignment: Left-to-right arrangement (entry → processing → execution)
  • Complete example: Cross-control-plane architecture with consumer and provider planes

Test plan

  • Review the examples render correctly in PlantUML
  • Verify patterns work for other multi-boundary scenarios

🤖 Generated with Claude Code

scotwells and others added 2 commits March 1, 2026 12:14
Add documentation for creating clean, readable C4 diagrams with multiple
system boundaries (e.g., cross-control-plane architectures).

New patterns documented:
- Side-by-side boundary placement using Rel_L/Rel_R
- Grid structure within boundaries (2x2 layout)
- Relationship direction guidelines for different scenarios
- Data flow alignment (left-to-right: entry → processing → execution)
- Complete cross-control-plane example

These patterns emerged from designing the Functions service control plane
architecture diagram and help avoid overlapping lines and cluttered layouts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add documentation for when to use Container vs Container_Ext (and other
_Ext variants) based on ownership:

- Internal: elements your team owns and maintains
- External: elements owned by other teams or external services

Key pattern: "Resource you create, other service processes" should be
Container_Ext since the other team owns the controller that processes it.

Includes:
- Ownership rule explanation
- Common patterns table with rationale
- Functions service example
- Context vs Container diagram guidance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant